define(["jquery", "bootstrap", "backend", "table", "form", "clipboard.min"], function (
  $,
  undefined,
  Backend,
  Table,
  Form,
  ClipboardJS
) {
  var Controller = {
    index: function () {
      // 初始化表格参数配置
      Table.api.init({
        extend: {
          index_url: "user/user/index",
          add_url: "user/user/add",
          edit_url: "user/user/edit",
          del_url: "user/user/del",
          multi_url: "user/user/multi",
          table: "user",
        },
      });

      var table = $("#table");

      // 初始化表格
      table.bootstrapTable({
        url: $.fn.bootstrapTable.defaults.extend.index_url,
        pk: "id",
        sortName: "user.id",
        columns: [
          [
            { checkbox: true },
            { field: "id", title: __("Id"), sortable: true },
            { field: "group.name", title: __("Group") },
            { field: "admin.username", title: __("Admin_id") },
            { field: "username", title: __("Username"), operate: "LIKE" },
            { field: "nickname", title: __("Nickname"), operate: "LIKE" },
            { field: "email", title: __("Email"), operate: "LIKE" },
            { field: "mobile", title: __("Mobile"), operate: "LIKE" },
            {
              field: "avatar",
              title: __("Avatar"),
              events: Table.api.events.image,
              formatter: Table.api.formatter.image,
              operate: false,
            },
            { field: "pid", title: __("Pid"), operate: "LIKE" },
            {
              field: "gender",
              title: __("Gender"),
              visible: false,
              searchList: { 1: __("Male"), 0: __("Female") },
            },
            // {
            //   field: "score",
            //   title: __("Score"),
            //   operate: "BETWEEN",
            //   sortable: true,
            // },
            // {
            //   field: "balance",
            //   title: __("balance"),
            //   operate: "BETWEEN",
            //   sortable: true,
            // },
            {
              field: "money",
              title: __("Money"),
              operate: "BETWEEN",
              sortable: true,
            },
            {
              field: "successions",
              title: __("Successions"),
              visible: false,
              operate: "BETWEEN",
              sortable: true,
            },
            {
              field: "maxsuccessions",
              title: __("Maxsuccessions"),
              visible: false,
              operate: "BETWEEN",
              sortable: true,
            },
            {
              field: "logintime",
              title: __("Logintime"),
              formatter: Table.api.formatter.datetime,
              operate: "RANGE",
              addclass: "datetimerange",
              sortable: true,
            },
            {
              field: "loginip",
              title: __("Loginip"),
              formatter: Table.api.formatter.search,
            },
            {
              field: "jointime",
              title: __("Jointime"),
              formatter: Table.api.formatter.datetime,
              operate: "RANGE",
              addclass: "datetimerange",
              sortable: true,
            },
            {
              field: "joinip",
              title: __("Joinip"),
              formatter: Table.api.formatter.search,
            },
            {
              field: "status",
              title: __("Status"),
              formatter: Table.api.formatter.status,
              searchList: { normal: __("Normal"), hidden: __("Hidden") },
            },
            {
              field: 'anchor_switch',
              title: __('Anchor_switch'),
              formatter: Table.api.formatter.status,
              searchList: {1: __("Normal"), 0: __("Hidden")},
            },
            {
              field: "invitation",
              title: __("邀请码"),
               formatter:function (value,row,index){
                return '<a href="javascript:;"  data-clipboard-text="'+value+'" class="btn-copy" data-toggle="tooltip" data-original-title="点击复制">'+value+'</a>';
              }
            },
            {field: 'share_url', title: __('Share_url'),
              formatter:function (value,row,index){
                return '<a href="javascript:;"  data-clipboard-text="'+value+'" class="btn-copy" data-toggle="tooltip" data-original-title="点击复制">'+value+'</a>';
              }
            },
            {
              field: "operate",
              title: __("Operate"),
              table: table,
              events: Table.api.events.operate,
              formatter: Table.api.formatter.operate,
            },
          ],
        ],
      });
      var clipboard = new ClipboardJS('.btn-copy');
      clipboard.on('success', function(e) {
        Toastr.success('复制成功');
      });
      clipboard.on('error', function(e) {
        Toastr.error('复制失败，请刷新后重试');
      });
      // 为表格绑定事件
      Table.api.bindevent(table);
    },
    add: function () {
      Controller.api.bindevent();
    },
    edit: function () {
      Controller.api.bindevent();
    },
    api: {
      bindevent: function () {
        Form.api.bindevent($("form[role=form]"));
      },
    },
  };
  return Controller;
});
